package com.video.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.video.common.dto.VideoDto;
import com.video.entity.Video;

import java.util.List;

/**
 * @author maomao
 */
public interface VideoService extends IService<Video> {

    /**
     * 查询用户上传的视频
     * @param videoDtoPage 分页参数
     * @param userId 用户Id
     * @param keyWord 搜索关键字
     * @return list
     */
    IPage<VideoDto> getUserUploadVideo(Page<VideoDto> videoDtoPage, Long userId, String keyWord);

    /**
     * 获取视频详情
     * @param videoId 视频Id
     * @return 视频详情
     */
    VideoDto getVideo(Long videoId);

    /**
     * 获取视频列表
     * @param videoDtoPage 分页参数
     * @param categoryId 分类Id
     * @param industryId 行业Id
     * @param platformId 平台Id
     * @param keyword 关键字
     * @return 视频列表
     */
    IPage<VideoDto> listVideo(Page<VideoDto> videoDtoPage, Integer categoryId, Integer industryId, Integer platformId, String keyword);

    /**
     * 获取自增视频主键Id的最大值
     * @return id
     */
    Long getMaxVideoId();

}
